第二十三天 Virtual Memory(虛擬記憶體)--(三)
LRU Approximation Algorithms—Enhanced Second-Chance Algorithm
因為LRU需要特別的硬體支援,而且使用後還是很慢,所以產生LRU近似演算法,Second-Chance Algorithm跟Enhanced Second-Chance Algorithm。它添加了一個reference bit來帶表page有沒有被用過,1代表有0代表沒有,初始值皆設為0。
Counting Algorithms:
這種演算法很少用,他是計算被用到的次數來決定,有兩種方式:
Page-Buffering Algorithms:
當page被修改過後,一段時間未被使用,則將被修改的page移入磁碟內,dirty bit重設為0。然後使用一個free frame記錄是哪些page被修改過,當需要再用到時,可以直接取出重新使用。
這個演算法是為了要減少把victim page swap out出去的時間。
說完page replacement的演算法,我們來說說frame的分配。每個process都有最多跟最少frame的數量限制,而分配的方啊有兩種:
Frame的配置還分為global跟local:
當process分配到的frame不夠多時,就有可能會發生thrashing 現象!至於thrashing現象是什麼,我們明天來說明吧!